﻿using EntitiesLayer;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DAL.Repositorios
{
    public class TipoCitaRepository : IRepositoryConsultar<TipoCita>
    {

        public IEnumerable<TipoCita> GetAll()
        {
            SqlCommand cmd = new SqlCommand();
            DataSet ds = DBAccess.ExecuteSPWithDS(ref cmd, "PaListarTipoCita");

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                yield return crearTipoCita(dr, Convert.ToInt32(dr["IdTCita"]));
            }
        }

        private TipoCita crearTipoCita(DataRow dr, int pId)
        {
            TipoCita objTipoCita = new TipoCita(
                      pId,
                      dr["Descripcion"].ToString()
                  );

            return objTipoCita;
        }

        public TipoCita GetById(int id)
        {
            TipoCita objTipoCita = null;
            SqlCommand cmd = new SqlCommand();
            cmd.Parameters.Add(new SqlParameter("@IdTipoCita", id));
            DataSet ds = DBAccess.ExecuteSPWithDS(ref cmd, "PaConsultarTipoCitaPorID");

            foreach (DataRow dr in ds.Tables[0].Rows)
                objTipoCita = crearTipoCita(dr, id);

            return objTipoCita;
        }
    }
}
